'use strict';


const db = uniCloud.database();
const dbCmd = db.command;

exports.main = async (event, context) => {
	//event为客户端上传的参数
	console.log('event : ', event)
	
	// 1.接收从前端调用者, 传过来的 当前登录用户id, 当前文章状态(是否被当前用户收藏), 文章id, 文章标题
	let {uid, fav, article_id, article_title} = event;

	// 2.1 fav == true, 说明文章已被收藏, 此时需要将这篇文章从数据库中删掉
	// 取消收藏
	if (fav) {
		db.collection("opendb-news-favorite")
			.where({
				/**
				 * 2.2 
				 * 删除只给一个文章id就好, 因为从收藏页进入详情页, 详情页会自动拿这个id查询文章内容
				 */
				article_id: dbCmd.eq(article_id) 
			}).remove()
	// 2.3 fav == false, 说明文章还未被收藏, 此时需要将这篇文章添加到数据库
	// 添加收藏
	} else {
		/**
		 * 2.4 
		 * 添加收藏需要文章id、文章标题以及用户id
		 * 文章标题用来在 收藏列表页 的展示
		 */
		db.collection("opendb-news-favorite").add({
			"article_id": article_id,
			"article_title": article_title,
			"user_id": uid
		});
	}
	
	//返回数据给客户端, 执行结果
	return event
};
